package com.lyn.seckill.service.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ItemModel {
    private Integer id;
    // 商品名称
    @NotBlank(message = "商品名称**必填**")
    private String title;
    // 商品价格
    @NotNull(message = "商品价格**必填**")
    @Min(value = 0, message = "商品价格必须大于0")
    private BigDecimal price;
    // 商品库存
    @NotNull(message = "商品库存**必填**")
    private Integer stock;
    // 商品描述
    @NotBlank(message = "商品描述**必填**")
    private String description;
    // 商品销量
    private Integer sales;
    // 商品描述图片
    @NotBlank(message = "商品图片**必填**")
    private String imgUrl;

    // 使用聚合模型，如果PromoModel不为空，则表示其拥有还未结束的秒杀活动
    private PromoModel promoModel;
}
